package laberinto;

import java.util.ArrayList;

public class Niveles<Entidad> {

	private ArrayList<Entidad> niveles;
	private int indiceDeNivelActual;
	
	public Niveles(ArrayList<Entidad> niveles){
		this.niveles = niveles;
		this.indiceDeNivelActual = 0;
	}
	
	public Entidad nivelActual(){
		return niveles.get(indiceDeNivelActual);
	}
	
    public boolean llegoAlUltimoNivel(){
	   return indiceDeNivelActual==niveles.size()-1;
    }
    
	public Entidad siguienteNivel(){
		if(indiceDeNivelActual<niveles.size()-1)
		   return pasarAlSIguienteNivel();
		return resetearNivelActual();

		
	}

	public int obtenerNumeroDeNivel(){
		return indiceDeNivelActual+1;
	}
	
	private Entidad pasarAlSIguienteNivel() {
		indiceDeNivelActual++;
		return niveles.get(indiceDeNivelActual);
	}

	private Entidad resetearNivelActual() {
		indiceDeNivelActual=0;
		return niveles.get(0);
	}
}
